package com.jlwl.houseservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jlwl.houseservice.entity.Feedback;
import com.jlwl.houseservice.vo.FeedbackCreateVO;
import com.jlwl.houseservice.vo.FeedbackQueryVO;
import com.jlwl.houseservice.vo.FeedbackReplyVO;

/**
 * 用户反馈Service接口
 */
public interface FeedbackService extends IService<Feedback> {

    /**
     * 分页查询反馈列表
     * @param queryVO 查询条件
     * @return 分页结果
     */
    Page<Feedback> pageList(FeedbackQueryVO queryVO);

    /**
     * 创建反馈
     * @param createVO 创建参数
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean createFeedback(FeedbackCreateVO createVO, Integer userId);

    /**
     * 回复反馈
     * @param id 反馈ID
     * @param replyVO 回复参数
     * @return 是否成功
     */
    boolean replyFeedback(Integer id, FeedbackReplyVO replyVO);

    /**
     * 更新反馈状态
     * @param id 反馈ID
     * @param status 状态
     * @return 是否成功
     */
    boolean updateFeedbackStatus(Integer id, Integer status);

    /**
     * 获取用户反馈列表
     * @param userId 用户ID
     * @param page 页码
     * @param size 每页数量
     * @return 分页结果
     */
    Page<Feedback> getUserFeedbacks(Integer userId, Integer page, Integer size);
} 